package com.alks.function.service.stockdept.pcfactorystockquery;

import com.alks.function.data.request.stockdept.pcfactorystockwork.ReportInStockQueryRequest;
import com.alks.function.data.request.stockdept.pcfactorystockwork.ReportStockInQueryRequest;
import com.alks.function.data.request.stockdept.pcfactorystockwork.ReportStockOutQueryRequest;
import com.alks.function.data.vo.stock.*;


/**
 * @author: chen
 * @date: 2024/11/14
 * @description: 仓储作业报表Service
 */
public interface IStockWorkReportService {

    /**
     * 仓储作业入库明细报表数据
     * @param request
     * @return
     */
    PageDataVO<ReportStockInVO> reportStockIn(ReportStockInQueryRequest request);

    /**
     * 仓储作业出库明细报表数据
     * @param request
     * @return
     */
    PageDataVO<ReportStockOutVO> reportStockOut(ReportStockOutQueryRequest request);

    /**
     * 仓储作业库存明细报表数据
     * @param request
     * @return
     */
    PageDataVO<ReportStockVO> reportInStock(ReportInStockQueryRequest request);

    /**
     * 成品出入库数据
     * @param dateStr  日期
     * @param collectType  类型 I 入库  O 出库
     * @return
     */
    InvoicesStockVO invoiceStock(String dateStr, String collectType);
}
